package cn.iocoder.yudao.module.crossborder.platform.dal.dataobject.platformapiconfig;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

/**
 * 跨境电商平台API配置 DO
 *
 * @author 芋道源码
 */
@TableName("crossborder_platform_api_config")
@KeySequence("crossborder_platform_api_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PlatformApiConfigDO extends BaseDO {

    /**
     * API配置编号
     */
    @TableId
    private Long id;
    /**
     * 平台编号
     */
    private Long platformId;
    /**
     * 店铺编号（为空表示平台级配置）
     */
    private Long storeId;
    /**
     * API类型
     */
    private String apiType;
    /**
     * API名称
     */
    private String apiName;
    /**
     * API端点
     */
    private String apiEndpoint;
    /**
     * HTTP方法
     */
    private String httpMethod;
    /**
     * 请求头配置JSON
     */
    private String requestHeaders;
    /**
     * 请求参数配置JSON
     */
    private String requestParams;
    /**
     * 响应映射配置JSON
     */
    private String responseMapping;
    /**
     * 每分钟请求限制
     */
    private Integer rateLimitPerMinute;
    /**
     * 每小时请求限制
     */
    private Integer rateLimitPerHour;
    /**
     * 每天请求限制
     */
    private Integer rateLimitPerDay;
    /**
     * 超时时间（秒）
     */
    private Integer timeoutSeconds;
    /**
     * 重试次数
     */
    private Integer retryTimes;
    /**
     * 重试间隔（秒）
     */
    private Integer retryIntervalSeconds;
    /**
     * 状态（0正常 1停用）
     */
    private Integer status;
    /**
     * 是否启用
     */
    private Boolean enabled;
    /**
     * 备注
     */
    private String remark;


}
